KAMP: Karlsruhe Architectural Maintainability Prediction
نویسندگان
چکیده
In their lifetime software systems usually need to be adapted in order to fit in a changing environment or to cover new required functionality. The effort necessary for implementing changes is related to the maintainability of the software system. Therefore, maintainability is an important quality aspect of software systems. Today Software Architecture plays an important role in achieving software quality goals. Therefore, it is useful to evaluate software architectures regarding their impact on the quality of the program. However, unlike other quality attributes, such as performance or reliability, there is relatively less work on the impact of the software architecture on maintainability in a quantitative manner. In particular, the cost of software evolution not only stems from software-development activities, such as reimplementation, but also from software management activities, such as re-deployment, upgrade installation, etc. Most metrics for software maintainability base on code of object-oriented designs, but not on architectures, and do not consider costs from software management activities. Likewise, existing current architectural maintainability evaluation techniques manually yield just qualitative (and often subjective) results and also do concentrate on software (re-)development costs. In this paper, we present KAMP, the Karlsruhe Architectural Maintainability Prediction Method, a quantitative approach to evaluate the maintainability of software architectures. Our approach estimates the costs of change requests for a given architecture and takes into account re-implementation costs as well as re-deployment and upgrade activities. We combine several strengths of existing approaches. First, our method evaluates maintainability for concrete change requests and makes use of explicit architecture models. Second, it estimates change efforts using semi-automatic derivation of work plans, bottom-up effort estimation, and guidance in investigation of estimation supports (e.g. design and code properties, team organization, development environment, and other influence factors).
منابع مشابه
Successful Architectural Knowledge Sharing: Beware of Emotions
Improved Feedback for Architectural Performance Prediction using Software Cartography Visualizations Klaus Krogmann (Universität Karlsruhe (TH), Germany), Christian M. Schweda (Technische Universität München, Germany), Sabine Buckl (Technische Universität München, Germany), Michael Kuperberg (Universität Karlsruhe, Germany), Anne Martens (Universität Karlsruhe (TH), Germany) and Florian Matthes...
متن کاملA Quantitative Evaluation of Maintainability of Software Architecture Styles
Proper decisions play a crucial role in any software architecture design process. An important decision of design stage is the selection of a suitable software architecture style. Lack of investigation on the quantitative impact of architecture styles on software quality attributes is the main problem in using such styles. Consequently, the use of architecture styles in designing is based on th...
متن کاملMaintainability Techniques for Software Development Approaches – A Systematic Survey
Time, effort and money involved in maintaining software has always been considered greater than its development time. Also, its vagueness in prediction at early stage of development makes the process more complex. Researchers and developers are working on devising various techniques/algorithms for better prediction. Present paper conducts a detailed survey on these techniques and identified sev...
متن کاملTowards a Maintainability Evaluation in Software Architectures
Maintainability is an internal quality characteristic that is contemplated by many users and developers, and therefore is deeply related to software architecture. It presents an organization of its components and relation which promote or obstruct different attributes like testability, changeability, and analyzability. As part of a research in progress, this article analyzes and organizes a set...
متن کاملArchitectural Software Patterns and Maintainability: a Case Study (hs-ida-ea-01-105) Architectural Software Patterns and Maintainability: a Case Study Architectural Software Patterns and Maintainability: a Case Study
The importance of building maintainable software is being recognized in the community of software development. By developing software that is easy to maintain, the time and resources needed to perform the modifications may be decreased. This will in turn mean economical savings and increased profits. Architectural software patterns are said to promote the development of maintainable software. T...
متن کامل